package pl.edu.pw.MidEmu.UI.Views;

import java.util.List;

import pl.edu.pw.MidEmu.Base.Views.BaseView;
import pl.edu.pw.MidEmu.Common.Models.EthernetInterfaceModel;
import pl.edu.pw.MidEmu.Common.Models.MidasModel;
import pl.edu.pw.MidEmu.Logic.ProcessHandler;

/**
 * View interface used for loading MIDAS platform
 * @author Mateusz Starodab
 *
 */
public interface MidasLoaderView extends BaseView
{

	void dispose();

	String getBinariesDir();

	String getCentralNodeID();

	String getCentralNodeIP();

	String getClassName();

	EthernetInterfaceModel getEthernetInterface();

	List<EthernetInterfaceModel> getFreeInterfaces();

	String getLibPath();

	String getParams();

	Boolean isCentralNode();

	void registerMidas(MidasModel model, ProcessHandler handler);

	void reportNoFreeInterfaces();

	void reportValidationErrors();

	void showPickupBinariesDirExecDialog();

	boolean validateMIDAS();
}
